From 9a730fb0c2257db3a624834793caf1900b1c6c62 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Miro=20Hron=C4=8Dok?= Date: Mon, 27 Jan 2025 11:16:37 +0000 Subject: [PATCH] fix a segfault in iterator of a ConfigParser section Origin: https://github.com/rpm-software-management/libdnf/commit/f3302a865b230e021e9defbcea978ed1290a9b2f Forwarded: https://github.com/rpm-software-management/libdnf/pull/1682 Gbp-Pq: Name 0015-fix-segfault.patch --- bindings/swig/common_types.i | 11 +++++++---- bindings/swig/conf.i | 4 ---- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/bindings/swig/common_types.i b/bindings/swig/common_types.i index c9ae798..a1f90d9 100644 --- a/bindings/swig/common_types.i +++ b/bindings/swig/common_types.i @@ -63,10 +63,6 @@ template class Iterator { public: Iterator(typename T::iterator _cur, typename T::iterator _end) : cur(_cur), end(_end) {} - Iterator* __iter__() - { - return this; - } typename T::iterator cur; typename T::iterator end; @@ -165,3 +161,10 @@ EXTEND_TEMPLATE_PreserveOrderMapIterator(std::string, std::string) EXTEND_TEMPLATE_PreserveOrderMapIterator(std::string, libdnf::PreserveOrderMap) %exception; // beware this resets all exception handlers if you import this file after defining any + +%pythoncode %{ +def PreserveOrderMapStringStringIterator___iter__(self): + return self +PreserveOrderMapStringStringIterator.__iter__ = PreserveOrderMapStringStringIterator___iter__ +del PreserveOrderMapStringStringIterator___iter__ +%} diff --git a/bindings/swig/conf.i b/bindings/swig/conf.i index b6a0ce8..2f77003 100644 --- a/bindings/swig/conf.i +++ b/bindings/swig/conf.i @@ -71,10 +71,6 @@ template class Iterator { public: Iterator(typename T::iterator _cur, typename T::iterator _end) : cur(_cur), end(_end) {} - Iterator* __iter__() - { - return this; - } typename T::iterator cur; typename T::iterator end; -- 2.30.2